第 2 天開始了!!!
本身作業系統是用 Ubuntu 22.04.3 LTS
所以環境設定僅供參考
其他作業系統可以參考這篇
這次實做是透過 vsCode 作為編輯器開發,再用 terminal 運行
首先,extension package 先下載 3 個
並在使用者設定中的檔案 settings.json
加入
"code-runner.runInTerminal": true,
在透過安裝 Kotlin
指令
sudo apt install kotlin
這樣就完成了!!!
來運行一下 Hello World 吧 ~~~
// Hello World Program
fun main(args : Array<String>) {
println("Hello, World!")
}
這時候我就疑問了 jar
這檔案是什麼 ?
Kotlin
通常與 Java
一起使用,可以在 Java
虛擬機 (JVM) 上運行。當我們編寫 Kotlin
程式碼時,它會被編譯成 Java
bytecode,然後打包成一個 JAR
文件(Java Archive)。
JAR
是一種包含 Java
bytecode 和其他資源文件的壓縮文件,可以在不同 Java
環境中共享和使用。
如此一來,Kotlin
便可以在 Java
虛擬機上運行和共享。
了解其他 Kotlin
基礎可以參考此連結。
val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5)
這裡我們宣告一個 array,它儲存 integer,裡頭包含 1 到 5
Array 也可以儲存其它型態資料
val firstNumber = numbers[0]
以上我們存取 numbers
這個陣列第一個元素,也就是 1
// size of an array
println("Size of array: ${numbers.size}")
// is empty
println("Is empty: ${numbers.isEmpty()}")
// contains
println("Contains 3: ${numbers.contains(3)}")
我們可以透過 numbers.size
來知道 numbers
陣列中的元素個數
而 isEmpty()
則是判斷這陣列是否為空
contains()
這比較特別,它可以判斷陣列中是否有我們所設定要被找尋的元素
// create an array using factory functions
val numbers2 = IntArray(5)
for (i in numbers2.indices) {
numbers2[i] = i + 1
}
for (i in numbers2.indices) {
println(numbers2[i])
}
這裡跟上述使用 array 的方式不太一樣,我們先宣告一個有 5 個元素的陣列
並透過第一個迴圈給予每個元素的值,如果沒有執行這項動作,初始的值是 0
可以注意一下 indices
,這是 Kotlin
透過索引得到該陣列的方法
在第二個迴圈,我們以一列一個元素輸出
1
2
3
4
5
在 Kotlin
中,你可以通過建立自定義的鏈結串列類來實現鏈結串列資料結構,也可以使用 Kotlin
標準庫中的 LinkedList
。
import java.util.LinkedList
fun main() {
val linkedList = LinkedList<String>()
linkedList.add("Apple")
linkedList.add("Banana")
linkedList.add("Cherry")
for (item in linkedList) {
println(item)
}
// remove
linkedList.remove("Banana")
println("After removing Banana:")
for (item in linkedList) {
println(item)
}
// addFirst
linkedList.addFirst("Banana")
println("After adding Banana to the first:")
for (item in linkedList) {
println(item)
}
// addLast
linkedList.addLast("Watermelon")
println("After adding Banana to the last:")
for (item in linkedList) {
println(item)
}
}
以上是一些 Linked List 基本操作
輸出值
Apple
Banana
Cherry
After removing Banana:
Apple
Cherry
After adding Banana to the first:
Banana
Apple
Cherry
After adding Banana to the last:
Banana
Apple
Cherry
Watermelon
所有 Code 可以在 Github 找到 ~
明天見~~~